1. Field of the Invention
The present invention relates to an information display apparatus having a multiwindow system wherein outputs of display from a plurality of different programs being executed are respectively given to assigned window areas.
2. Description of the Related Art
Recently, an information display apparatus employing a multiwindow system is widely used. Such an information display apparatus is disclosed in Japanese Patent Disclosure (kokai) No. 63-29525, for example. In such an apparatus, a plurality of different programs are apparently executed simultaneously, and these programs respectively display their information at so-called windows which are areas designated on the display screen.
Such an information display apparatus is conventionally used in an electronic filing apparatus chiefly handing image data, thereby improving operability of filing work with respect to registering, searching, editing, etc., of document images.
The information display apparatus handing image data as mentioned above normally has a window manager for managing the display position and/or the size of windows provided for business applications of registering, searching, editing, etc., of document images.
More specifically, when a business application program of filing or the like displays a window, a window display request is sent from the business application program to the window manager via communication means. After the window manager receives the window display request, a window is displayed according to given parameters under conditions designated by the business application program.
Display environment of the window, such as a display order of stacked windows, can be modified according to respective requests from the business application program. For instance, by modifying the display environment, the display level of a specific window can be changed to the uppermost level (i.e., the top of the stacked windows).
Further, a request for changing the size or the display position of the window, generated from a mouse operation or keyboard operation by a user, is similarly processed via a mouse/keyboard input controller.
In an information display apparatus chiefly handling image data, such as a conventional electronic filing apparatus, images defined by image data are displayed on a display screen. Since the amount of data for producing the image is relatively large, a requirement as for the image producing speed is severer than the speed requirement in a multiwindow system chiefly handing universal code data.
Especially, when a page flipping (displayed images are sequentially and quickly switched) is performed, the speed requirement is a quite important factor.
When images are displayed in a conventional apparatus, image data is read from a recording medium such as an optical disk. Immediately thereafter, a video memory (VRAM) is directly accessed by a hardware (direct memory access controller; DMA), so that the read image data is written into a display memory (DM), without interaction of a CPU.
If a conventional multiwindow information display apparatus is simply used for an electronic filing apparatus, the window manager causes a problem.
More specifically, the window manager responds to the request from respective business application programs or to the request for changing the display position of the window(s) generated by the operator's mouse/keyboard operation with respect to each window.
For instance, there is a certain case wherein a business application program performs registering, searching, editing, etc., of documents, and a window assigned to the business application program has to be protected from being covered by other windows for a predetermined period of time.
As an example of the above filing business, assume a high speed page flipping function. Under this assumption, sending from the page flipping application program to the window manager is a request for displaying the page flipping window at the uppermost level. The window manager equally responding to each request of a plurality of application programs responds to that request, and the window management information is modified so that the page flipping window becomes the uppermost display level, thereby displaying that window at the uppermost level of the display screen.
At this time, the page flipping application program detects that the request to the window manager is successfully accepted, and the program proceeds its processing under assumption that the window is kept at the uppermost display level. In other words, the DMA is instructed to directly access the VRAM, so that the image data from the optical disk is sent to the uppermost window and the corresponding images are sequentially displayed in that window.
When the DMA performs drawing in the window according to an instruction from the business application program, however, there is no guarantee that the window is actually displayed at the uppermost level on the display screen. This is because there is a certain possibility that the window manager changes or modifies the display environment of the window at any time.
After responding to the above-mentioned request, assume a case wherein another application program requests to change the display order so that another window becomes the uppermost display level, or the operator instructs to set another window at the uppermost level using, for example, a mouse in his or her hand. In this case, since the window manager also responds to the program's request or the operator's instruction, the display level of the current window becomes no longer uppermost and the window could be covered by a new uppermost window.
If the display order of the current window is changed during the DMA transfer of image data to the VRAM, the DMA cannot detect that the destination memory location of transferring the image data is changed, unless the CPU interrupts the DMA transfer just at the time when the window display environment is changed or modified.
In this case, the frame of the window moves and, therefore, the image to be displayed within the window frame is displayed outside the window frame. Otherwise, the image data transfer has to be interrupted each time the window display order is changed, thus disturbing efficient page flipping function.
Similar problems will occur not only when the display order of the windows are changed but also when the size of the window or the display position of the window is changed.
In order to avoid the above problems, according to a prior art, after responding to a request from an application program (client), a window manager suspends the request(s) from application program(s) other than the program (client) sending the former request. Such a suspension function is called a window management occupation function.
Even during the page flipping display, however, the control to all of the windows is stopped. Then, the business operation in other windows cannot be proceeded.
Moreover, the above function is basically designed to be active for a quite short period of time (less than a few seconds). However, if the request is executed, the image drawing processing executed in other windows is stopped. For this reason, the above window management occupation function is not suitable for use with a page flipping function which continues its processing for a relatively long period of time (several tens of seconds).
As mentioned above, if a page flipping function requiring high speed image data processing is realized in a prior art information display apparatus applied to an electronic filing apparatus, the operability of a multiwindow system could be impaired, thus causing practical problems.
In addition, according to a conventional information display apparatus adapting a multiwindow system, it is necessary to occupy the process of window displaying and image drawing. Therefore, when the process is occupied by a specific application program, various problems could occur.
For instance, if a system error occurs during a specific application program occupies (grabs) the window manager, it is impossible to display even an error message on the display screen unless the specific program currently occupying the window manager can detect the error. In such a case, it is too late to find out the occurrence of error, thereby possibly destroying data of a user of the apparatus.
Thus, a prior art information display apparatus has difficulty as for the countermeasure to emergency cases occurring when a specific application program takes a position to occupy the window manager or actually occupies it.
As has been mentioned above, according to a prior art, it is difficult to obtain a multiwindow environment having a good operability when high speed processing such as a page flipping function is to be realized.